home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / mach-kirkwood / include / mach / entry-macro.S < prev    next >
Encoding:
Text File  |  2008-12-24  |  1005 b   |  41 lines

  1. /*
  2.  * arch/arm/mach-kirkwood/include/mach/entry-macro.S
  3.  *
  4.  * Low-level IRQ helper macros for Marvell Kirkwood platforms
  5.  *
  6.  * This file is licensed under the terms of the GNU General Public
  7.  * License version 2.  This program is licensed "as is" without any
  8.  * warranty of any kind, whether express or implied.
  9.  */
  10.  
  11. #include <mach/kirkwood.h>
  12.  
  13.     .macro  disable_fiq
  14.     .endm
  15.  
  16.     .macro  arch_ret_to_user, tmp1, tmp2
  17.     .endm
  18.  
  19.     .macro  get_irqnr_preamble, base, tmp
  20.     ldr    \base, =IRQ_VIRT_BASE
  21.     .endm
  22.  
  23.     .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
  24.     @ check low interrupts
  25.     ldr    \irqstat, [\base, #IRQ_CAUSE_LOW_OFF]
  26.     ldr    \tmp, [\base, #IRQ_MASK_LOW_OFF]
  27.     mov    \irqnr, #31
  28.     ands    \irqstat, \irqstat, \tmp
  29.     bne    1001f
  30.  
  31.     @ if no low interrupts set, check high interrupts
  32.     ldr    \irqstat, [\base, #IRQ_CAUSE_HIGH_OFF]
  33.     ldr    \tmp, [\base, #IRQ_MASK_HIGH_OFF]
  34.     mov    \irqnr, #63
  35.     ands    \irqstat, \irqstat, \tmp
  36.  
  37.     @ find first active interrupt source
  38. 1001:    clzne    \irqstat, \irqstat
  39.     subne    \irqnr, \irqnr, \irqstat
  40.     .endm
  41.